//
//  NRWBulletBaseView.h
//  NRWMall
//
//  Created by 邢毅 on 2018/6/7.
//  Copyright © 2018年 com.anpxd. All rights reserved.
//

#import <UIKit/UIKit.h>

typedef NS_ENUM(NSUInteger, BulletContentViewAlignment) {
    BulletAlignmentTop,
    BulletAlignmentBottom
};

@interface NRWBulletBaseView : UIView

#pragma mark - publicMethod

/// view是否在显示中
@property (assign, nonatomic) BOOL isShow;

///必须调用
- (void)prepare;

- (void)showForView:(UIView *)view;

- (void)dismiss;

- (void)setContentViewHeight:(CGFloat)contentHeight;

#pragma mark - subClass override
/// 内容视图
- (UIView *)bulletContentView;

/// 内容视图的对齐方式
- (BulletContentViewAlignment)contentViewAlignment;

/// 偏移量
- (CGFloat)alignmentMargin;

/// 内容视图高度
- (CGFloat)contentViewHeight;

/// 点击背景区域是否可以关闭
- (BOOL)touchBackgroundCanClose;

/// 自定义动画
- (BOOL)customerAnimation;

/// 显示时的动画
- (void)showAnimationWithContentView:(UIView *)contentView backgroundView:(NRWBulletBaseView *)bgView;

/// 消失时的动画
- (void)dismissAnimationWithContentView:(UIView *)contentView backgroundView:(NRWBulletBaseView *)bgView;

@end
